<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>

</style>

<body>
    <script>
        // 练习1
        // 编写一个函数求两个数字之间有多少个质数 例如：fn(100, 200) ，在控制台输出 100 - 200 之间的所有质数

        // function fn(x,y){
        //             for (a = x; a <= y; a++) {
        //             //质数： 2到数字本身-1都不是自己的因数
        //             // 假设a是质数
        //             var flag = true;
        //             for (var i = 2; i < a; i++) {
        //                 if (a % i == 0) {   
        //                     var flag = false;
        //                     break;
        //                      // 如果不是质数，会进入这个if循环，flase 不会输出
        //                 }
        //             }
        //             //  if (条件) { 条件为 true 的时候执行，输出 }
        //             if (flag) {
        //                 console.log(a + "是质数");
        //             }
        //         }
        //     }
        //     fn(100,200);
        // 练习1结束


        // 练习2
        // 编写一个函数，计算两个数字的和、积 要求：使用传参的形式 function test(a,b,type)
        // var sum="sum"
        //         var pro="pro"
        //         function test(a, b, type) {
        //             var sum1 = a + b;
        //             var pro1 = a * b;
        //             if (type == "sum") {
        //                 document.write(sum1 + `<br>`);
        //             }
        //             else if(type == "pro"){
        //                 document.write(pro1 + `<br>`);
        //             } 
        //         }
        //         test(3, 5, pro)
        // 练习2结束

        // 练习3
        // 求1+2!+3!+...+20!的值

        // var i = 1;var sum=0;
        
        //     for (var b = 1; b <=20; b++) {
        //         i *= b;
        //         sum+=i;  
        //     }
        //     console.log(sum)
        
        // 练习3结束



        // 练习4
        // function fn(r) {
        //     document.write(Math.PI * r * r)
        // }
        // fn(
        //     11
        // )
        // 练习4结束



        // 练习5开始
        // 编写函数，判断一个字符串的内容是不是纯数字
        // function number(num) {
        //     if (typeof Number(num) == "number" && !isNaN(num)) {
        //         alert("是纯数字")
        //     } else {
        //         alert("不是纯数字")
        //     }
        // }
        // number(2)

        // 练习6
        // 编写一个函数，计算三个数字的大小，按从小到大的顺序输出。
        // function flag(a, b, c) {
        //     var num = "";
        //     if (a > b) {
        //         num = a;
        //         a = b;
        //         b = num;
        //     }
        //     if (b > c) {
        //         num = b;
        //         b = c;
        //         c = num;
        //     }
        //     if (a > b) {
        //         num = a;
        //         a = b;
        //         b = num;
        //     }
        //     document.write(a + "" + b + "" + c)
        // }
        // flag(9, 8, 3)

        // 练习7
        // 写一个函数 求m-n之间数字的和？
        // function nb(m, n) {
        //     var num=0;
        //     for (var a = m; a <= n; a++) {
        //         num += a;
        //     }
        //     document.write(num)
        // }
        // nb(1, 100)

        // 练习8
        // 编写一个函数，计算任意两个数字之间所能组成的奇数个数，数字必须是个位数。 比如：计算0~3之间能组成的奇数是： 01、03、11、13、21、23、31、33

        // function odd(a, b) {
        //     if (a < b) {
        //         for (var i = a; i <= b; i++) {
        //             for (var j = a; j <= b; j++) {
        //                 if (j % 2 != 0) {
        //                     document.write(i + "" + j+`<br>`)
        //                 }
        //             }
        //         }
        //     }
        // }
        // odd(0, 3)

        // function sort(a, b) {
        //     let num = 0
        //     let temp = null

        //     let min = (a + '' + a) * 1
        //     let max = (b + '' + b) * 1
        //     for (var i = min; i <= max; i++) {
        //         for (let k = a; k <= b; k++) {
        //             if (i % 2 == 1 && i % 10 == k) {
        //                 num++
        //                 console.log(i)
        //             }
        //         }

        //     }
        // }
        // sort(0, 3)



        // 练习9
        // 使用函数完成任意数字阶乘的计算

        // function fac(a) {
        //     var flag = 1;
        //     for (var i = 1; i <= a; i++) {
        //         flag *= i;
        //     }
        //     console.log(flag)
        // }
        // fac(5)

        // 练习10
        // 绘制图形等腰三角形

        function fn(a) {
            // 打印行a
            var x=1;
            var a=1;
            for (var i = 1; i <= a; i++) {

                // 打印空格·
                for (var k = 0; k <= (i-1); k++) {
                    document.write("&nbsp;&nbsp;")
                }
                // 打印星号
                for (var x = 1; x <= (2 * i) - 1; x++) {
                    document.write("*")
                }

                // 换行
                document.write("<br>")
            }
        }
        fn(5)

        // function fn(qq) {
        //     var a = 1;
        //     for (var i = 1; i <= qq; i++) { //行数
        //         document.write(`&emsp;`.repeat((2 * qq - 1 - a) / 2));//打印空格 
        //         for (var a = 1; a <= (2 * i - 1); a++) { //每行 输出i*2-1个＂*＂
        //             document. write(`@`)
        //         }
        //         document.write(`<br> `);
        //     }
        // }
        // fn(5)

        
// 最吊的等腰三角形！
        var n=5;
        var str = "";
        // 行数i
        for (var i = 0; i <= n; i++) {
            // 空格
            for (var j = 0; j < n-i; j++) {
                str += " ";
            }
            // 内容。个数
            for (var j = 1; j <= (2*i-1); j++) {
                str += "@";
            }
            // 都是str，换行输出
            str += "\n";
        }
        console.log(str);
    </script>
</body>

</html>